
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package suministros.ejb30.facade;

import java.math.BigDecimal;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.ejb.Stateless;
import javax.mail.MessagingException;
import javax.naming.NamingException;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperPrint;
import suministros.ejb30.DAO.ReporteGeneraLocal;
import suministros.ejb30.DAO.SumiEMailLocal;
import suministros.ejb30.DAO.SumiGestionLicitacionLocal;
import suministros.ejb30.business.SumiAdministracionAlertasLocal;
import suministros.ejb30.business.SumiAdministracionCostoDiarioLocal;
import suministros.ejb30.business.SumiAdministracionCotizacionesLocal;
import suministros.ejb30.business.SumiAdministracionEncargosLocal;
import suministros.ejb30.business.SumiAdministracionPedidoLocal;
import suministros.ejb30.TO.*;
import suministros.ejb30.business.SumiAdministracionNotasLocal;
import suministros.ejb30.business.SumiAdministracionProveedorLocal;
import suministros.ejb30.business.SumiAdministracionTrabajadoresLocal;
import suministros.ejb30.entity.AreaEmpresa;
import suministros.ejb30.entity.CargoEmpresa;
import suministros.ejb30.entity.DetalleMovimiento;
import suministros.ejb30.entity.DetallePedidoSuministro;
import suministros.ejb30.entity.Direccionnopersona;
import suministros.ejb30.entity.ElementoCosto;
import suministros.ejb30.entity.Impuesto;
import suministros.ejb30.entity.Movimiento;
import suministros.ejb30.entity.Orden;
import suministros.ejb30.entity.Parametros;
import suministros.ejb30.entity.Pedido;
import suministros.ejb30.entity.Persona;
import suministros.ejb30.entity.Proveedor;
import suministros.ejb30.TO.SubAlmacenTO;
import suministros.ejb30.business.SumiAdministracionAsistenciasLocal;
import suministros.ejb30.business.SumiAdministracionCargosLocal;
import suministros.ejb30.business.SumiAdministracionEmpresaLocal;
import suministros.ejb30.business.SumiAdministracionInventarioLocal;
import suministros.ejb30.business.SumiAdministracionOrdenesBeanLocal;
import suministros.ejb30.business.SumiAdministracionSuministrosLocal;
import suministros.ejb30.entity.Alertas;
import suministros.ejb30.entity.Asistencia;
import suministros.ejb30.entity.AuxiliarCargarAsistenciaDiaria;
import suministros.ejb30.entity.CasillaSuministro;
import suministros.ejb30.entity.ComprobantePago;
import suministros.ejb30.entity.CosteoDiario;
import suministros.ejb30.entity.DetalleLicitacion;
import suministros.ejb30.entity.DetalleLicitacionActividad;
import suministros.ejb30.entity.DetalleMovimientoTemporal;
import suministros.ejb30.entity.DetalleOrden;
import suministros.ejb30.entity.DetallePedidoSuministroPK;
import suministros.ejb30.entity.DetallePlantillaImpuesto;
import suministros.ejb30.entity.DetalleSolicitudCotizacion;
import suministros.ejb30.entity.DetalleTransferencia;
import suministros.ejb30.entity.Empresa;
import suministros.ejb30.entity.Encargo;
import suministros.ejb30.entity.GrupoSuministros;
import suministros.ejb30.entity.Inventario;
import suministros.ejb30.entity.Licitacion;
import suministros.ejb30.entity.ProveedorSuministro;
import suministros.ejb30.entity.SolicitudCotizacion;
import suministros.ejb30.entity.StockAlmacen;
import suministros.ejb30.entity.Suministros;
import suministros.ejb30.entity.Tipo;
import suministros.ejb30.entity.TipoCambioDiario;
import suministros.ejb30.entity.TipoTrabajador;
import suministros.ejb30.entity.Trabajador;
import suministros.ejb30.entity.Transferencia;
import suministros.ejb30.entity.UnidadOrganizativa;
import suministros.ejb30.helper.EmailVacioException;
import suministros.ejb30.temporizador.AlertasSistemaSchedulerDiariaLocal;
import suministros.ejb30.temporizador.AlertasSistemaSchedulerLocal;
import suministros.ejb30.temporizador.ParametrosSistema;

/**
 *
 * @author Renato
 */
@Stateless
public class SumiAdministracionGestionFacade implements SumiAdministracionGestionFacadeRemote {

    @EJB
    private SumiAdministracionTrabajadoresLocal sumiAdministracionTrabajadores;
    @EJB
    private SumiAdministracionCostoDiarioLocal sumiAdministracionCostoDiario;
    @EJB
    private SumiAdministracionEncargosLocal sumiAdministracionEncargos;
    @EJB
    private SumiAdministracionAlertasLocal sumiAdministracionAlertas;
    @EJB
    private SumiAdministracionCotizacionesLocal sumiAdministracionCotizaciones;
    @EJB
    private SumiAdministracionEmpresaLocal sumiAdministracionEmpresas;
    @EJB
    private SumiAdministracionOrdenesBeanLocal sumiAdministracionOrdenesBean;
    @EJB
    SumiAdministracionPedidoLocal administracionPedidoBusiness;
    @EJB
    SumiAdministracionProveedorLocal administracionProveedorBusiness;
    @EJB
    SumiAdministracionNotasLocal administracionMovimientoBusiness;
    @EJB
    ReporteGeneraLocal administracionReporte;
    @EJB
    SumiGestionLicitacionLocal licitacionLocal;
    @EJB
    SumiEMailLocal emailLocal;
    @EJB
    AlertasSistemaSchedulerLocal temporizadorLocal;
    @EJB
    AlertasSistemaSchedulerDiariaLocal temporizadorDiarioLocal;
    @EJB
    SumiAdministracionInventarioLocal inventarioLocal;
    @EJB
    SumiAdministracionSuministrosLocal suministroLocal;
    @EJB
    SumiAdministracionCargosLocal cargosLocal;
    @EJB
    SumiAdministracionAsistenciasLocal asistenciaLocal;

    ParametrosSistema c = new ParametrosSistema();

    @PostConstruct
    public void inicializaBean() {
        temporizadorLocal.inicializaScheduler();
        temporizadorDiarioLocal.inicializaScheduler();
        inicializaVariables();
    }

    public void inicializaVariables() {
        List<Parametros> listaParametros = new ArrayList<Parametros>();
        try {
            listaParametros = this.administracionPedidoBusiness.getListaParametrosLike("S");
        } catch (Exception ex) {
            Logger.getLogger(SumiAdministracionGestionFacade.class.getName()).log(Level.SEVERE, null, ex);
        }
        c.anio = listaParametros.get(1).getParam1();
        c.mes = listaParametros.get(1).getParam2();
    }

    public List<ZonaTO> getListaZonas()
            throws Exception {
        return this.administracionPedidoBusiness.getListaZonas();
    }

    public List<LocalidadTO> getListaLocalidadesZona(String idZona) throws Exception {
        return this.administracionPedidoBusiness.getListaLocalidadZona(idZona);
    }

    public List<LocalidadTO> getListaLocalidades() throws Exception {
        return this.administracionPedidoBusiness.getListaLocalidades();
    }

    public List<UnidadOrganizativaTO> getListaUnidOrganizativas() throws Exception {
        return this.administracionPedidoBusiness.getListaUnidOrganizativas();
    }

    public List<CentroCostoTO> getListaCentroCostos() throws Exception {
        return this.administracionPedidoBusiness.getListaCentroCostos();
    }

    public List<CodPresupuestalTO> getListaCodPresupuestal() throws Exception {
        return this.administracionPedidoBusiness.getListaCodPresupuestal();
    }

    public List<CuentaContableTO> getListaCtaCbles() throws Exception {
        return this.administracionPedidoBusiness.getListaCtaCbles();
    }

    public List<CodigosInversionTO> getListaCodigoInversion() throws Exception {
        return this.administracionPedidoBusiness.getListaCodigoInversion();
    }

    public List<TipoTO> getListaTipos() throws Exception {
        return this.administracionPedidoBusiness.getListaTipos();
    }

    public List<Parametros> getListaParametros() throws Exception {
        return this.administracionPedidoBusiness.getListaParametros();
    }

    public boolean insertarPedido(String usuario, String mac, Pedido pedidoPrinc, List<DetallePedidoSuministro> listaDetalle) throws Exception {
        return this.administracionPedidoBusiness.insertarPedido(usuario, mac, pedidoPrinc, listaDetalle);

    }

    public String insertarPedidoAjusteInventario(String usuario, String mac, Pedido pedidoPrinc, List<DetallePedidoSuministro> listaDetalle) throws Exception {
        return this.administracionPedidoBusiness.insertarPedidoAjusteInventario(usuario, mac, pedidoPrinc, listaDetalle);
    }

    public List<SuministroTO> getListaSuministros() throws Exception {
        return this.administracionPedidoBusiness.getListaSuministros();
    }

    public List<Parametros> getListaParametrosLike(String id) throws Exception {
        return this.administracionPedidoBusiness.getListaParametrosLike(id);
    }

    public List<PedidoTO> getListaPedidos(String unid_org, String zonal, String ano, String mes, String empresa) throws Exception {
        return this.administracionPedidoBusiness.getListaPedidos(unid_org, zonal, ano, mes, empresa);
    }

    public List<PedidoTO> getListaPedidosInversion(String cod_proyec, String zonal, String ano, String mes) throws Exception {
        return this.administracionPedidoBusiness.getListaPedidosInversion(cod_proyec, zonal, ano, mes);
    }

    public List<PedidoTO> getListaPedidos(String empresa) throws Exception {
        return this.administracionPedidoBusiness.getListaPedidos(empresa);
    }

    public List<DetallePedidoSuministroTO> getListaDetallePedido(String cod_pedido) throws Exception {
        return this.administracionPedidoBusiness.getListaDetallePedido(cod_pedido);
    }

    public List<AnoTO> getListaAnos() throws Exception {
        return this.administracionPedidoBusiness.getListaAnos();
    }

    public List<MesTO> getListaMeses() throws Exception {
        return this.administracionPedidoBusiness.getListaMes();
    }

    public List eliminarPedido(String usuario, String mac, String cod_pedido) throws Exception {
        return this.administracionPedidoBusiness.eliminarPedido(usuario, mac, cod_pedido);
    }

    public List<ProyectoTO> getListaProyectos() throws Exception {
        return this.administracionPedidoBusiness.getListaProyectos();
    }

    public List<NecesidadesSumiTO> getListaNecesidadesOperativas(String centro_costos, String ano, String empresa) throws Exception {
        return this.administracionPedidoBusiness.getListaNecesidadesOperativas(centro_costos, ano, empresa);
    }

    public List<NecesidadesSumiTO> getListaNecesidadesInversion(String cod_proy, String ano, String empresa) throws Exception {
        return this.administracionPedidoBusiness.getListaNecesidadesInversion(cod_proy, ano, empresa);
    }

    public List<NecesidadesSumiDetalleTO> getListaDetalleNecesidadesLocalidadOperativo(String centro_costo, String ano, String empresa) throws Exception {
        return this.administracionPedidoBusiness.getListaNecesidadesDetalleLocalidadOperativo(centro_costo, ano, empresa);
    }

    public List<NecesidadesSumiDetalleTO> getListaDetalleNecesidadesLocalidadInversion(String cod_proy, String ano, String empresa) throws Exception {
        return this.administracionPedidoBusiness.getListaNecesidadesDetalleLocalidadInversion(cod_proy, ano, empresa);
    }

    public boolean procesarRequerimientos(String usuario, String mac, List<NecesidadesSumiTO> listaTareas) throws Exception {
        return this.administracionPedidoBusiness.procesarRequerimientos(usuario, mac, listaTareas);

    }

    public boolean procesaDetalleRequerimientos(String usuario, String mac, List<NecesidadesSumiDetalleTO> listaTareas) throws Exception {
        return this.administracionPedidoBusiness.procesarDetalleRequerimientos(usuario, mac, listaTareas);
    }

    public boolean insertarProveedor(Proveedor pro, Direccionnopersona dir) throws Exception {
        return this.administracionProveedorBusiness.insertarProveedor(pro, dir);
    }

    public boolean modificarProveedor(Proveedor pro, Direccionnopersona dir) throws Exception {
        return this.administracionProveedorBusiness.modificarProveedor(pro, dir);
    }

    public boolean eliminarProveedor(String pro) throws Exception {
        return this.administracionProveedorBusiness.eliminarProveedor(pro);
    }

    public List<DepartamentoTO> listaDepartamento() throws Exception {
        return this.administracionProveedorBusiness.listaDepartamento();
    }

    public List<ProvinciaTO> listaProvincia(String codigo) throws Exception {
        return this.administracionProveedorBusiness.listaProvincia(codigo);
    }

    public List<DistritoTO> listaDistrito(String codigo) throws Exception {
        return this.administracionProveedorBusiness.listaDistrito(codigo);
    }

    public List<PaisTO> listaPais() throws Exception {
        return this.administracionProveedorBusiness.listaPais();
    }

    public List<ProveedorTO> listaProveedor() throws Exception {
        return this.administracionProveedorBusiness.listaProveedor();
    }

    public ProveedorTO obtenerDatosProveedor(String codigo) throws Exception {
        return this.administracionProveedorBusiness.obtenerDatosProveedor(codigo);
    }

    public OrdenTO obtenerDatosOrden(String codigo) throws Exception {
        return this.administracionMovimientoBusiness.obtenerDatosOrden(codigo);
    }

    public String insertarNotaIngreso(String usuario, String mac, Movimiento mov, List<DetalleMovimiento> detalleMovimiento, int codigoTemporal, int tioper) throws Exception {
        if (c.anio.compareTo(mov.getAnio()) == 0 && c.mes.compareTo(mov.getMes()) == 0) {
            return this.administracionMovimientoBusiness.insertarNotaIngreso(usuario, mac, mov, detalleMovimiento, codigoTemporal, tioper);
        } else {
            throw new Exception("El anio y mes no coincide, actualice el sistema");
        }

    }

    public List<DetalleOrdenTO> getDatosDetalleOrdenSumados(String codigo) throws Exception {
        return this.administracionMovimientoBusiness.getDatosDetalleOrdenSumados(codigo);
    }

    public List<DetalleOrdenTO> getDatosDetalleOrden(String codigo) throws Exception {
        return this.administracionMovimientoBusiness.getDatosDetalleOrden(codigo);
    }

    public List<AlmacenTO> getListaAlmacenes() throws Exception {
        return this.administracionMovimientoBusiness.getListaAlmacenes();
    }

    public List<SubAlmacenTO> getListaSubAlmacenes() throws Exception {
        return this.administracionMovimientoBusiness.getListaSubAlmacenes();


    }

    public List<DetalleOrdenTO> getListaDetallePedidoOrden(String cod_pedido) throws Exception {
        return this.administracionPedidoBusiness.getListaDetallePedidoOrden(cod_pedido);
    }

    public List<AlmacenTO> getListaAlmacenesPorZona(String cod_zona) throws Exception {
        return this.administracionPedidoBusiness.getListaAlmacenesPorZona(cod_zona);
    }

    public List<SubAlmacenTO> getListaSubAlmacenesPorAlmacen(String cod_almacen) throws Exception {
        return this.administracionPedidoBusiness.getListaSubAlmacenesPorAlmacen(cod_almacen);
    }

    public List<DetalleIngresoTO> getDatosDetalleIngresoUbicacionSumados(String codigo) throws Exception {
        return this.administracionMovimientoBusiness.getDatosDetalleIngresoUbicacionSumados(codigo);
    }

    public MovimientoTO obtenerMovimiento(String codigo) {
        return this.administracionMovimientoBusiness.obtenerMovimiento(codigo);
    }

    public String insertarOrden(Orden orden, List<DetalleOrden> detalle) throws Exception {
        if (c.anio.compareTo(orden.getAno()) == 0 && c.mes.compareTo(orden.getMes()) == 0) {
            return this.sumiAdministracionOrdenesBean.insertarOrden(orden, detalle);
        } else {
            throw new Exception("El anio y mes no coincide, vaya a la opcion cargar listas");
        }

    }

    public List<PedidoTO> getPedidosPorTipoOrden(List<ZonaTO> zonas_usuario, String id_empresa) throws Exception {
        return this.administracionPedidoBusiness.getPedidosPorTipoOrden(zonas_usuario, id_empresa);
    }

    public List<DetallePedidoSuministroTO> getListaDetallesPedidoAll() throws Exception {
        return this.administracionPedidoBusiness.getDetallePedidoAll();
    }

    public List<DetallePedidoSuministroTO> getListaDetallePedidosParaOrden(List<ZonaTO> zonas_usuario, String id_empresa) throws Exception {
        return this.administracionPedidoBusiness.getDetallePedidosParaOrden(zonas_usuario, id_empresa);
    }

    public List<DetalleOrdenTO> getListaDetallePedidoOrden(DetallePedidoSuministroPK pk_detalle_pedido) throws Exception {
        return this.administracionPedidoBusiness.getListaDetallePedidoOrden(pk_detalle_pedido);
    }

    public PedidoTO getDatosPedido(String codigo) throws Exception {
        return administracionMovimientoBusiness.getDatosPedido(codigo);
    }

    public List<DetalleOrdenTO> getListaDetallePedidoSuministroIn(String cod_pedido, int tipo_admin, int tipo) throws Exception {
        return administracionMovimientoBusiness.getListaDetallePedidoSuministro(cod_pedido, tipo_admin, tipo);
    }

    public String insertarSalida(String usuario, String mac, Movimiento mov, List<DetalleMovimiento> listadetalleOr) throws Exception {
        if (c.anio.compareTo(mov.getAnio()) == 0 && c.mes.compareTo(mov.getMes()) == 0) {
            return administracionMovimientoBusiness.insertarSalida(usuario, mac, mov, listadetalleOr);
        } else {
            throw new Exception("El anio y mes no coincide, vaya a la opcion cargar listas");
        }

    }

    public JasperPrint generarReporte(String reporte, Map parametros) throws SQLException, JRException {
        return administracionReporte.generarReporte(reporte, parametros);
    }

    public JasperPrint generarReporteIngreso(String reporte, Map parametros) throws SQLException, JRException {
        return administracionReporte.generarReporteIngreso(reporte, parametros);
    }

    public JasperPrint generarReporteSalida(String reporte, Map parametros) throws SQLException, JRException {
        return administracionReporte.generarReporteSalida(reporte, parametros);
    }

    public List<PedidoTO> getListaPedidosNoAtendidos(String cod_zona, String id_empresa) throws Exception {
        return this.administracionPedidoBusiness.getListaPedidosNoAtendidos(cod_zona, id_empresa);
    }

    public boolean rechazarPedido(String cod_pedido, List<DetallePedidoSuministroTO> detalle) throws Exception {
        return this.administracionPedidoBusiness.rechazarPedido(cod_pedido, detalle);
    }

    public boolean aceptarPedido(String cod_pedido, List<DetallePedidoSuministroTO> detalle) throws Exception {
        return this.administracionPedidoBusiness.aceptarPedido(cod_pedido, detalle);
    }

    public Movimiento obtenerIngreso(String codigo) {
        return administracionMovimientoBusiness.obtenerIngreso(codigo);
    }

    public List<DetalleIngresoTO> getDatosDetalleIngresoUbicacionSumados2(String codigo) throws Exception {
        return this.administracionMovimientoBusiness.getDatosDetalleIngresoUbicacionSumados2(codigo);

    }

    public OrdenTO isExisteOrden(String nro_orden) throws Exception {
        return this.sumiAdministracionOrdenesBean.isExisteOrden(nro_orden);
    }

    public Boolean insertarLicitacion(String usuario, String mac, Licitacion lic, List<DetalleLicitacion> detalleLicitacion) throws Exception {
        return this.licitacionLocal.insertarLicitacion(usuario, mac, lic, detalleLicitacion);

    }

    public boolean insertarComprobanteDeOrden(ComprobantePago comprobante, String cod_orden) throws Exception {
        if (c.anio.compareTo(comprobante.getAno()) == 0 && c.mes.compareTo(comprobante.getMes()) == 0) {
            return this.sumiAdministracionOrdenesBean.insertarComprobanteDeOrden(comprobante, cod_orden);
        } else {
            throw new Exception("El anio y mes no coincide, vaya a la opcion cargar listas");
        }


    }

    public List<LicitacionTO> getDatosLicitacionCodigo(String codigo, boolean estado, String empresa) throws Exception {
        return licitacionLocal.getDatosLicitacionCodigo(codigo, estado, empresa);

    }

    public List<LicitacionTO> getDatosLicitacionAno(String ano, boolean estado, String empresa) throws Exception {
        return licitacionLocal.getDatosLicitacionAno(ano, estado, empresa);

    }

    public List<LicitacionTO> getDatosLicitacionProveedor(String proveedor, boolean estado, String empresa) throws Exception {
        return licitacionLocal.getDatosLicitacionProveedor(proveedor, estado, empresa);

    }

    public List<LicitacionTO> getDatosLicitacionProveedorAno(String proveedor, String ano, boolean estado, String empresa) throws Exception {
        return licitacionLocal.getDatosLicitacionProveedorAno(proveedor, ano, estado, empresa);

    }

    public List<DetalleLicitacionTO> getDatosLicitacionDetalles(String codigo) throws Exception {
        return licitacionLocal.getDatosLicitacionDetalles(codigo);


    }

    public boolean modificarLicitacion(String usuario, String mac, LicitacionTO lic, List<DetalleLicitacion> detalleLicitacion, List<DetalleLicitacion> detalleLicitacionAgregar, List<DetalleLicitacion> detalleLicitacionEliminar) throws Exception {
        return licitacionLocal.modificarLicitacion(usuario, mac, lic, detalleLicitacion, detalleLicitacionAgregar, detalleLicitacionEliminar);
    }

    public boolean eliminarLicitacion(String codigo) throws Exception {
        return licitacionLocal.eliminarLicitacion(codigo);
    }

    public List<DetalleImpuestoTO> retornarDetallesDeImpuesto(int plantilla, BigDecimal monto) throws Exception {
        return this.sumiAdministracionOrdenesBean.retornarDetallesDeImpuesto(plantilla, monto);
    }

    public Boolean insertarLicitacionActividad(String usuario, String mac, List<DetalleLicitacionActividad> detalleLicitacion, java.math.BigDecimal montoTotal) throws Exception {
        return this.licitacionLocal.insertarActividades(usuario, mac, detalleLicitacion, montoTotal);
    }

    public boolean verificarActividades(String codigo, String suministro) {

        return this.licitacionLocal.verificarActividades(codigo, suministro);
    }

    public List<LicitacionSuministroTO> verificarDetallePedidoEnLicitacion(String cod_pedido) throws Exception {
        return this.sumiAdministracionOrdenesBean.verificarDetallePedidoEnLicitacion(cod_pedido);
    }

    public void aprobarRequerrimientos(String usuario, String mac, List<NecesidadesSumiDetalleTO> listaGeneral, java.util.List<suministros.ejb30.TO.NecesidadesSumiTO> generalNecesidades) throws Exception {
        administracionPedidoBusiness.aprobarRequerrimientos(usuario, mac, listaGeneral, generalNecesidades);
    }

    public void enviarEMailSimple(String email, String asunto, String mensaje) throws NamingException, MessagingException {
        this.emailLocal.enviarEmail(email, asunto, mensaje);
    }

    public List<LicitacionSuministroTO> verificarDetallePedidoEnLicitacion(DetallePedidoSuministroPK detalle_pedido) throws Exception {
        return this.sumiAdministracionOrdenesBean.verificarDetallePedidoEnLicitacion(detalle_pedido);
    }

    public List<NecesidadesSumiTO> getListaNecesidadesOperativasAp(String centro_costos, String ano, String empresa, String zona) throws Exception {
        return this.administracionPedidoBusiness.getListaNecesidadesOperativasAp(centro_costos, ano, empresa, zona);
    }

    public List<NecesidadesSumiTO> getListaNecesidadesInversionAp(String cod_proy, String ano, String empresa) throws Exception {
        return this.administracionPedidoBusiness.getListaNecesidadesInversionAp(cod_proy, ano, empresa);
    }

    public List<NecesidadesSumiTO> getListaNecesidadesOperativasMod(String centro_costos, String ano, String empresa) throws Exception {
        return this.administracionPedidoBusiness.getListaNecesidadesOperativasMod(centro_costos, ano, empresa);
    }

    public List<NecesidadesSumiTO> getListaNecesidadesInversionMod(String cod_proy, String ano, String empresa) throws Exception {
        return this.administracionPedidoBusiness.getListaNecesidadesInversionMod(cod_proy, ano, empresa);
    }

    public List<LicitacionActividadTO> getActividadesPorLicitacionEspecifica(String id_licitacion, String id_suministro) throws Exception {
        return this.sumiAdministracionOrdenesBean.getActividadesPorLicitacionEspecifica(id_licitacion, id_suministro);
    }

    public String insertarTransferencia(String usuario, String mac, List<DetalleTransferencia> detalles, Transferencia tra) throws Exception {
        if (c.anio.compareTo(tra.getAnio()) == 0 && c.mes.compareTo(tra.getMes()) == 0) {
            return administracionMovimientoBusiness.insertarTransferencia(usuario, mac, detalles, tra);
        } else {
            throw new Exception("El anio y mes no coincide, vaya a la opcion cargar listas");
        }


    }

    public TransferenciaTO getDatosTransferencia(String codigo, int tipo) throws Exception {
        return administracionMovimientoBusiness.getDatosTransferencia(codigo, tipo);
    }

    public List<DetalleTransferenciaTO> getDatosDetalleTransferencia(String codigo) throws Exception {
        return administracionMovimientoBusiness.getDatosDetalleTransferencia(codigo);
    }

    public String insertarSalidaTran(String usuario, String mac, Movimiento mov, List<DetalleTransferenciaTO> listadetalleOr) throws Exception {
        if (c.anio.compareTo(mov.getAnio()) == 0 && c.mes.compareTo(mov.getMes()) == 0) {
            return administracionMovimientoBusiness.insertarSalidaTran(usuario, mac, mov, listadetalleOr);
        } else {
            throw new Exception("El anio y mes no coincide, vaya a la opcion cargar listas");
        }

    }

    public List<DetalleSolicitudCotizacionTO> getListaDetallePedidoSuministroSolicitudCotizacion(String cod_pedido) throws Exception {
        return this.sumiAdministracionCotizaciones.getListaDetallePedidoSuministroSolicitudCotizacion(cod_pedido);
    }

    public List<IngresoTO> getDatosMovimiento(String codigo, int tipo, int opcion, java.lang.String proy, java.lang.String unid, int tipoIn, java.lang.String empresa, String anio, int mes, int pag, int tamaño) throws Exception {
        return administracionMovimientoBusiness.getDatosMovimiento(codigo, tipo, opcion, proy, unid, tipoIn, empresa, anio, mes, pag, tamaño);
    }

    public String insertarSolicitudCotizacion(SolicitudCotizacion solicitud, List<DetalleSolicitudCotizacion> detalle_solicitud) throws Exception {
        if (c.anio.compareTo(solicitud.getAno()) == 0 && c.mes.compareTo(solicitud.getMes()) == 0) {
            return this.sumiAdministracionCotizaciones.insertarSolicitudCotizacion(solicitud, detalle_solicitud);
        } else {
            throw new Exception("El anio y mes no coincide, vaya a la opcion cargar listas");
        }

    }

    public List<ProveedorTO> buscaSolicitud(String nro_solicitud, String id_empresa) throws Exception {
        return this.sumiAdministracionCotizaciones.buscaSolicitud(nro_solicitud, id_empresa);
    }

    public List<DetalleSolicitudCotizacionTO> getDetallesSolicitud(String ruc_proveedor, String nro_solicitud) throws Exception {
        return this.sumiAdministracionCotizaciones.getDetallesSolicitud(ruc_proveedor, nro_solicitud);
    }

    public boolean registrarCotizacion(String ruc_proveedor, String nro_solicitud, List<DetalleSolicitudCotizacionTO> detalles_solicitud, Tipo forma_pago, Tipo impuesto, Tipo moneda) throws Exception {
        return this.sumiAdministracionCotizaciones.registrarCotizacion(ruc_proveedor, nro_solicitud, detalles_solicitud, forma_pago, impuesto, moneda);
    }

    public boolean estableceGanador(List<DetalleSolicitudCotizacionTO> detalle_solicitud, String nro_solicitud, String proveedor) throws Exception {
        return this.sumiAdministracionCotizaciones.estableceGanador(detalle_solicitud, nro_solicitud, proveedor);
    }

    public List<DetalleSolicitudCotizacionTO> getListaDetallePedidoSuministroSolicitudCotizacion(String cod_pedido, String cod_sumi) throws Exception {
        return this.sumiAdministracionCotizaciones.getListaDetallePedidoSuministroSolicitudCotizacion(cod_pedido, cod_sumi);
    }

    public List<SolicitudCotizacionTO> getListaCotizacionesAprobadas() throws Exception {
        return this.sumiAdministracionCotizaciones.getListaCotizacionesAprobadas();
    }

    public List<DetalleOrdenTO> getListaDetallesPedidoOrdenCotizacion(String nro_solicitud, String proveedor) throws Exception {
        return this.sumiAdministracionCotizaciones.getListaDetallesPedidoOrdenCotizacion(nro_solicitud, proveedor);
    }

    public SolicitudCotizacionTO getSolicitudCotizacion(String nro_solicitud) throws Exception {
        return this.sumiAdministracionCotizaciones.getSolicitudCotizacion(nro_solicitud);
    }

    public boolean bajaSolicitud(String nro_solicitud) throws Exception {
        return this.sumiAdministracionCotizaciones.bajaSolicitud(nro_solicitud);
    }

    public List<OrdenTO> consultarOrden(ParametrosConsultaTO parametros, int tipo_orden, int pagActual, int pagTamanno) throws Exception {
        return this.sumiAdministracionOrdenesBean.consultarOrden(parametros, tipo_orden, pagActual, pagTamanno);
    }

    public List<SuministroStockTO> getStockSuministro(String id_suministro, String empresa) throws Exception {
        return this.administracionPedidoBusiness.getStockSuministro(id_suministro, empresa);
    }

    public List<ComprobantePagoTO> consultarComprobante(ParametrosConsultaTO parametros, int pagActual, int pagTamanno) throws Exception {
        return this.sumiAdministracionOrdenesBean.consultarComprobante(parametros, pagActual, pagTamanno);
    }

    public List<SolicitudCotizacionTO> consultarCotizacion(ParametrosConsultaTO parametros, int pagActual, int pagTamanno) throws Exception {
        return this.sumiAdministracionCotizaciones.consultarCotizacion(parametros, pagActual, pagTamanno);
    }

    public List<DetalleTransferenciaTO> getDatosDetalleTransferenciaStock(String codigo) throws Exception {
        return administracionMovimientoBusiness.getDatosDetalleTransferenciaStock(codigo);
    }

    public List<PedidoTO> getPedidosPorTipoOrdenServicio(List<ZonaTO> zonas_usuario) throws Exception {
        return this.administracionPedidoBusiness.getPedidosPorTipoOrdenServicio(zonas_usuario);
    }

    public boolean anularOrden(String nro_orden) throws Exception {
        return this.sumiAdministracionOrdenesBean.anularOrden(nro_orden);
    }

    public Boolean modificarActividades(String usuario, String mac, List<DetalleLicitacionActividad> detalleActividades, List<DetalleLicitacionActividad> detalleActividadesagregar, BigDecimal montoTotal) throws Exception {
        return licitacionLocal.modificarActividades(usuario, mac, detalleActividades, detalleActividadesagregar, montoTotal);
    }

    public boolean anularLicitacion(String usuario, String mac, String codigo, String documento) throws Exception {
        return licitacionLocal.anularLicitacion(usuario, mac, codigo, documento);
    }

    public List<DetalleOrdenTO> getListaDetalleOrden(String nro_orden) throws Exception {
        return this.sumiAdministracionOrdenesBean.getListaDetalleOrden(nro_orden);
    }

    public BigDecimal verificarDisponibilidadSuministro(String codigo, boolean es_inversion, String loca, String ano, String mes, String id_sumi, String empresa) throws Exception {
        return this.administracionPedidoBusiness.verificarDisponibilidadSuministro(codigo, es_inversion, loca, ano, mes, id_sumi, empresa);
    }

    public boolean modificarOrden(Orden orden, List<DetalleOrden> detalles) throws Exception {
        return this.sumiAdministracionOrdenesBean.modificarOrden(orden, detalles);
    }

    public List<EmpresaTO> obtenerEmpresas() throws Exception {
        return this.administracionMovimientoBusiness.obtenerEmpresas();
    }

    public SuministroTO getSuministroEmpresa(String codigo, String empresa) throws Exception {
        return this.administracionPedidoBusiness.getSuministroEmpresa(codigo, empresa);
    }

    public byte[] getComprobanteArchivo(int id_comprobante) throws Exception {
        return this.sumiAdministracionOrdenesBean.getComprobanteArchivo(id_comprobante);
    }

    public StockAlmacenTO getStockSuministroUbicacion(String codigo, String subalmacen, String empresa) throws Exception {
        return this.administracionPedidoBusiness.getStockSuministroUbicacion(codigo, subalmacen, empresa);
    }

    public Boolean registrarStockAlmacen(String usuario, String mac, StockAlmacen stock, int estado) throws Exception {
        return administracionMovimientoBusiness.registrarStockAlmacen(usuario, mac, stock, estado);
    }

    public List<StockAlmacenTO> getStockConsultar(String suministro, String subalmacen, String empresa, int tipo) {
        return this.administracionPedidoBusiness.getStockConsultar(suministro, subalmacen, empresa, tipo);

    }

    public List<AnoTO> getParametrosKardex() throws Exception {
        return administracionMovimientoBusiness.getParametrosKardex();
    }

    public List<DetalleIngresoTO> getDatosBusquedaSensitivaIngreso(String empresa) throws Exception {
        return administracionMovimientoBusiness.getDatosBusquedaSensitivaIngreso(empresa);
    }

    public boolean insertarEmpresa(Empresa emp) throws Exception {
        return this.sumiAdministracionEmpresas.insertarEmpresa(emp);
    }

    public byte[] getLogoEmpresa(String id_empresa) throws Exception {
        return this.sumiAdministracionEmpresas.getLogoEmpresa(id_empresa);
    }

    public boolean insertarAlertas(List<Alertas> alertas) throws Exception {
        return this.sumiAdministracionAlertas.insertarAlertas(alertas);
    }

    public void generarAlertas() throws Exception {
        this.sumiAdministracionAlertas.generarAlertas();
    }

    public List<AlertaTO> obtenerAlertas(List<EmpresaTO> empresas, List<ZonaTO> zonas, List<suministros.ejb30.TO.SistemaTO> sistemas) throws Exception {
        return sumiAdministracionAlertas.obtenerAlertas(empresas, zonas, sistemas);
    }

    public boolean actualizarEmpresa(Empresa emp) throws Exception {
        return sumiAdministracionEmpresas.actualizarEmpresa(emp);
    }

    public List<SolicitudCotizacionTO> getListaCotizacionesEnEspera(String id_empresa) throws Exception {
        return sumiAdministracionCotizaciones.getListaCotizacionesEnEspera(id_empresa);
    }

    public boolean generaDocumentoAEmail(String nro_orden, int tipo, String cod_proveedor) throws EmailVacioException, Exception {
        return sumiAdministracionOrdenesBean.generaDocumentoAEmail(nro_orden, tipo, cod_proveedor);
    }

    public int obtenerAlertasTamaño(List<EmpresaTO> empresas, List<ZonaTO> zonas, List<suministros.ejb30.TO.SistemaTO> sistemas) throws Exception {
        return sumiAdministracionAlertas.obtenerAlertasTamaño(empresas, zonas, sistemas);
    }

    public String iniciarInventario(Inventario inv) throws Exception {
        return inventarioLocal.iniciarInventario(inv);
    }

    public InventarioTO getDatosInventario() throws Exception {
        return this.inventarioLocal.getDatosInventario();
    }

    public List<DetalleInventarioTO> getListaDetalleInventario(String empresa, String inventario) {
        return this.inventarioLocal.getListaDetalleInventario(empresa, inventario);
    }

    public Boolean registrarStock(List<DetalleInventarioTO> listainv) throws Exception {
        return this.inventarioLocal.registrarStock(listainv);
    }

    public int iniciaConfiguracionInventario(int pagTamanno) {
        return this.inventarioLocal.iniciaConfiguracionInventario(pagTamanno);
    }

    public int siguienteInventario() {
        return this.inventarioLocal.siguienteInventario();
    }

    public int anteriorInventario() {
        return this.inventarioLocal.anteriorInventario();
    }

    public int siguienteTodoInventario() {
        return this.inventarioLocal.siguienteTodo();
    }

    public int anteriorTodoInventario() {
        return this.inventarioLocal.anteriorTodo();
    }

    public String insertarSalidaInventario(String usuario, String mac, Movimiento mov, List<DetalleMovimiento> detalleMovimiento, String inventario) throws Exception {
        return administracionMovimientoBusiness.insertarSalidaInventario(usuario, mac, mov, detalleMovimiento, inventario);
    }

    public List<DetalleIngresoTO> getDatosBusquedaSensitivaIngresoInventario(String empresa) throws Exception {
        return administracionMovimientoBusiness.getDatosBusquedaSensitivaIngresoInventario(empresa);
    }

    public int getNumeroDeOrdenes(ParametrosConsultaTO parametros, int tipo_orden) throws Exception {
        return this.sumiAdministracionOrdenesBean.getNumeroDeOrdenes(parametros, tipo_orden);
    }

    public int getNumeroDeComprobantes(ParametrosConsultaTO parametros) throws Exception {
        return this.sumiAdministracionOrdenesBean.getNumeroDeComprobantes(parametros);
    }

    public int getNumeroDeCotizaciones(ParametrosConsultaTO parametros) throws Exception {
        return this.sumiAdministracionCotizaciones.getNumeroDeCotizaciones(parametros);
    }

    public String insertarNotaIngresoInventario(String usuario, String mac, Movimiento mov, List<DetalleMovimiento> detalleMovimiento, String inventario) throws Exception {
        return administracionMovimientoBusiness.insertarNotaIngresoInventario(usuario, mac, mov, detalleMovimiento, inventario);
    }

    public Boolean terminarInventario(Inventario inv) throws Exception {
        return this.inventarioLocal.terminarInventario(inv);
    }

    public java.util.List<suministros.ejb30.TO.TransferenciaTO> obtenerCodigos(int tipoConsulta) throws Exception {
        return administracionMovimientoBusiness.obtenerCodigos(tipoConsulta);
    }

    public List<OrdenTO> getOrdenesSinComprobante(List<ZonaTO> zonas_usuario, String id_empresa) throws Exception {
        return this.sumiAdministracionOrdenesBean.getOrdenesSinComprobante(zonas_usuario, id_empresa);
    }

    public boolean insertarEncargo(Encargo encargo) throws Exception {
        if (c.anio.compareTo(encargo.getAno()) == 0 && c.mes.compareTo(encargo.getMes()) == 0) {
            return this.sumiAdministracionEncargos.insertarEncargo(encargo);
        } else {
            throw new Exception("El anio y mes no coincide, vaya a la opcion cargar listas");
        }

    }

    public List<EncargoTO> consultarEncargo(ParametrosConsultaTO parametros, int pagActual, int pagTamanno) throws Exception {
        return this.sumiAdministracionEncargos.consultarEncargo(parametros, pagActual, pagTamanno);
    }

    public byte[] getEncargoArchivo(int id_encargo) throws Exception {
        return this.sumiAdministracionEncargos.getEncargoArchivo(id_encargo);
    }

    public int getNumeroDeEncargos(ParametrosConsultaTO parametros) throws Exception {
        return this.sumiAdministracionEncargos.getNumeroDeEncargos(parametros);
    }

    public List<FlujoPedidoTO> getFlujoPedido(String cod_pedido) throws Exception {
        return this.administracionPedidoBusiness.getFlujoPedido(cod_pedido);
    }

    public List<SuministroTO> getDatosSuministroEmpresaRequeridos(String empresa, String zona) throws Exception {
        return administracionPedidoBusiness.getDatosSuministroEmpresaRequeridos(empresa, zona);
    }

    public Boolean guardarPrecioRequerrimientos(List<SuministroTO> listasuministro) throws Exception {
        return administracionPedidoBusiness.guardarPrecioRequerrimientos(listasuministro);
    }

    public List<ReservaSuministroTO> getReservasSuministros(String id_empresa) throws Exception {
        return this.administracionPedidoBusiness.getReservasSuministros(id_empresa);
    }

    public Boolean verificarFechasAprobarRequerrimientos() throws Exception {
        return this.administracionPedidoBusiness.verificarFechasAprobarRequerrimientos();
    }

    public Boolean verificarFechasHacerRequerrimientos() throws Exception {
        return administracionPedidoBusiness.verificarFechasHacerRequerrimientos();
    }

    public List<SuministroTO> getDatosServicioEmpresaRequeridos(String empresa, String zona, String ccosto) throws Exception {
        return administracionPedidoBusiness.getDatosServicioEmpresaRequeridos(empresa, zona, ccosto);
    }

    public Boolean guardarPrecioRequerrimientosServicio(List<SuministroTO> listasuministro, String ccosto) throws Exception {
        return administracionPedidoBusiness.guardarPrecioRequerrimientosServicio(listasuministro, ccosto);
    }

    public List<UnidadOrganizativaTO> getListaUnidOrganizativasNecesidad(String anio, String cod_uni_depend) throws Exception {
        return administracionPedidoBusiness.getListaUnidOrganizativasNecesidad(anio, cod_uni_depend);
    }

    public boolean aprobarRequermientosJefatura(String anio, List<UnidadOrganizativaTO> unidades) throws Exception {
        return administracionPedidoBusiness.aprobarRequermientosJefatura(anio, unidades);
    }

    public List<NecesidadesSumiTO> getListaNecesidadesOperativasModZona(String centro_costo, String ano, String empresa, String zona) throws Exception {
        return administracionPedidoBusiness.getListaNecesidadesOperativasModZona(centro_costo, ano, empresa, zona);
    }

    public List<UnidadOrganizativaTO> verificarAprobacionDependencias(String unidad_organizativa) throws Exception {
        return administracionPedidoBusiness.verificarAprobacionDependencias(unidad_organizativa);
    }

    public String verificaDetalleOrdenEnPresupuesto(List<DetalleOrdenTO> detalle_orden, int mes) throws Exception {
        return this.sumiAdministracionOrdenesBean.verificaDetalleOrdenEnPresupuesto(detalle_orden, mes);
    }

    public String insertarSuministro(Suministros sumi) throws Exception {
        return suministroLocal.insertarSuministro(sumi);
    }

    public String insertarGrupoSuministro(GrupoSuministros sumi) throws Exception {
        return suministroLocal.insertarGrupoSuministro(sumi);
    }

    public String administrarSuministro(Suministros sumi) throws Exception {
        return suministroLocal.administrarSuministro(sumi);
    }

    public List<SuministroTO> getListaSuministrosConsultar(String codigo, int tipo, int pagActual, int pagTamanno) throws Exception {
        return suministroLocal.getListaSuministrosConsultar(codigo, tipo, pagActual, pagTamanno);
    }

    public String administrarGrupo(GrupoSuministros grupo) throws Exception {
        return suministroLocal.administrarGrupo(grupo);
    }

    public List<GrupoSuministrosTO> getListaGruposConsultar(String codigo, int tipo, int pagActual, int pagTamanno) throws Exception {
        return suministroLocal.getListaGruposConsultar(codigo, tipo, pagActual, pagTamanno);
    }

    public int getListaGruposConsultarTamaño(String codigo, int tipo) throws Exception {
        return suministroLocal.getListaGruposConsultarTamaño(codigo, tipo);
    }

    public int getListaSuministrosConsultarTamaño(String codigo, int tipo) throws Exception {
        return suministroLocal.getListaSuministrosConsultarTamaño(codigo, tipo);
    }

    public List<SuministroTO> getSuministroAdministrar(String codigo) throws Exception {
        return this.administracionPedidoBusiness.getSuministroAdministrar(codigo);
    }

    public List<GrupoSuministrosTO> getListaGrupoSuministrosAdministrar(String codigo) throws Exception {
        return administracionPedidoBusiness.getListaGrupoSuministrosAdministrar(codigo);
    }

    public List<GrupoSuministrosTO> getListaGrupoSuministros() throws Exception {
        return administracionPedidoBusiness.getListaGrupoSuministros();
    }

    public List<CasillaSuministroTO> obtenerCasillasSuministro(String suministro, String empresa) {
        return suministroLocal.obtenerCasillasSuministro(suministro, empresa);
    }

    public void insertarSuministroCasilla(List<CasillaSuministro> sumicasillas) throws Exception {
        suministroLocal.insertarSuministroCasilla(sumicasillas);
    }

    public List<GrupoSuministrosTO> getListaGrupoSuministrosPadre() throws Exception {
        return this.administracionPedidoBusiness.getListaGrupoSuministrosPadre();
    }

    public List<UnidadOrganizativaTO> getListaUnidOrganizativasDependencias() throws Exception {
        return suministroLocal.getListaUnidOrganizativasDependencias();

    }

    public List<AreaTO> getListaAreas() throws Exception {
        return suministroLocal.getListaAreas();
    }

    public boolean modificarComprobanteArchivo(int id_comprobante, byte[] archivo) throws Exception {
        return this.sumiAdministracionOrdenesBean.modificarComprobanteArchivo(id_comprobante, archivo);
    }

    public String insertarUnidadOrganizativa(UnidadOrganizativa unidad) throws Exception {
        return suministroLocal.insertarUnidadOrganizativa(unidad);
    }

    public List<DetalleOrdenTO> listarOrdenesSuministros(ParametrosConsultaTO parametros) throws Exception {
        return this.sumiAdministracionOrdenesBean.listarOrdenesSuministros(parametros);
    }

    public List<OrdenTO> listarOrdenesProveedores(ParametrosConsultaTO parametros) throws Exception {
        return this.sumiAdministracionOrdenesBean.listarOrdenesProveedores(parametros);
    }

    public List<OrdenTO> listarOrdenesTotales(ParametrosConsultaTO parametros) throws Exception {
        return this.sumiAdministracionOrdenesBean.listarOrdenesTotales(parametros);
    }

    public List<DetalleOrdenTO> listarOrdenesCuentas(ParametrosConsultaTO parametros) throws Exception {
        return this.sumiAdministracionOrdenesBean.listarOrdenesCuentas(parametros);
    }

    public List<DetalleMovimientoTO> listarMovimientosSuministros(ParametrosConsultaTO parametros) throws Exception {
        return administracionMovimientoBusiness.listarMovimientosSuministros(parametros);
    }

    public List<DetalleMovimientoTO> listarMovimientosProveedores(ParametrosConsultaTO parametros) throws Exception {
        return administracionMovimientoBusiness.listarMovimientosProveedores(parametros);

    }

    public List<DetalleMovimientoTO> listarMovimientosTotales(ParametrosConsultaTO parametros) throws Exception {
        return administracionMovimientoBusiness.listarMovimientosTotales(parametros);
    }

    public List<DetalleMovimientoTO> listarMovimientoCuentas(ParametrosConsultaTO parametros) throws Exception {
        return administracionMovimientoBusiness.listarMovimientoCuentas(parametros);
    }

    public List<ComprobantePagoTO> getComprobantesOrden(String nro_orden) throws Exception {
        return this.sumiAdministracionOrdenesBean.getComprobantesOrden(nro_orden);
    }

    public boolean insertarNotaIngresoFicticio(List<DetalleMovimientoTemporal> detalleMovimiento) throws Exception {
        if (c.anio.compareTo(detalleMovimiento.get(0).getAnio()) == 0 && c.mes.compareTo(detalleMovimiento.get(0).getMes()) == 0) {
            return administracionMovimientoBusiness.insertarNotaIngresoFicticio(detalleMovimiento);
        } else {
            throw new Exception("El anio y mes no coincide, vaya a la opcion cargar listas");
        }

    }

    public List<RegularizacionMovimientoTO> getMovimientosRegularizar(String cod_proveedor) throws Exception {
        return this.sumiAdministracionOrdenesBean.getMovimientosRegularizar(cod_proveedor);
    }

    public boolean regularizaMovimientos(List<RegularizacionMovimientoTO> lista, String nro_orden) throws Exception {
        return this.sumiAdministracionOrdenesBean.regularizaMovimientos(lista, nro_orden);
    }

    public List<DetalleMovimientoTemporalTO> getListaMovimientoTemporal(String ubicacion, String empresa, String ruc) throws Exception {
        return administracionMovimientoBusiness.getListaMovimientoTemporal(ubicacion, empresa, ruc);
    }

    public boolean cerrarMes() throws Exception {
        Parametros para = suministroLocal.cerrarMes();
        boolean estado = false;
        if (para != null) {
            c.anio = para.getParam1();
            c.mes = para.getParam2();
            estado = true;
        }
        return estado;
    }

    public List<TipoTO> getListaTiposTabla(String tabla) throws Exception {
        return suministroLocal.getListaTiposTabla(tabla);
    }

    public List<TipoTablaTO> getComboTablaTipo() throws Exception {
        return suministroLocal.getComboTablaTipo();
    }

    public boolean insertarTipo(TipoTO tipoto) throws Exception {
        return suministroLocal.insertarTipo(tipoto);
    }

    public String eliminarMovimiento(String movimiento) throws Exception {
        return administracionMovimientoBusiness.eliminarMovimiento(movimiento);
    }

    public boolean eliminarTipo(TipoTO tipoto) throws Exception {
        return suministroLocal.eliminarTipo(tipoto);
    }

    public boolean eliminarSuministros(Suministros sumi) throws Exception {
        return suministroLocal.eliminarSuministros(sumi);
    }

    public void insertarZona(suministros.ejb30.entity.Zona zona) throws java.lang.Exception {
        suministroLocal.insertarZona(zona);
    }

    public void insertarAlmacen(suministros.ejb30.entity.Almacen alm) throws java.lang.Exception {
        suministroLocal.insertarAlmacen(alm);
    }

    public void insertarSubAlmacen(suministros.ejb30.entity.SubAlmacen sualm) throws java.lang.Exception {
        suministroLocal.insertarSubAlmacen(sualm);
    }

    public void modificarZona(suministros.ejb30.TO.ZonaTO zona) throws java.lang.Exception {
        suministroLocal.modificarZona(zona);
    }

    public void modificarAlmacen(suministros.ejb30.TO.AlmacenTO almacen) throws java.lang.Exception {
        suministroLocal.modificarAlmacen(almacen);
    }

    public void modificarUbicacion(suministros.ejb30.TO.SubAlmacenTO subalmacen) throws java.lang.Exception {
        suministroLocal.modificarUbicacion(subalmacen);
    }

    public suministros.ejb30.entity.Parametros modificarParametro(Parametros para) throws Exception {
        Parametros param = suministroLocal.modificarParametro(para);
        if (param.getIdParametro().compareTo("SU1") == 0) {
            if (param != null) {
                c.anio = param.getParam1();
                c.mes = param.getParam2();
            }
        }
        return param;
    }

    public java.lang.String insertarCargo(suministros.ejb30.entity.Cargo cargo) throws java.lang.Exception {
        return this.cargosLocal.insertarCargo(cargo);
    }

    public java.lang.String modificarCargo(suministros.ejb30.entity.Cargo cargo) throws java.lang.Exception {
        return this.cargosLocal.modificarCargo(cargo);
    }

    public java.lang.String insertarHistorialCargo(suministros.ejb30.entity.Cargo cargo) throws java.lang.Exception {
        return this.cargosLocal.insertarHistorialCargo(cargo);
    }

    public boolean insertarusuarioRol(suministros.ejb30.entity.HistorialCargos detallesa, suministros.ejb30.entity.HistorialCargos detallese) throws java.lang.Exception {
        return this.cargosLocal.insertarusuarioRol(detallesa, detallese);
    }

    public java.util.List<suministros.ejb30.TO.DetalleUsuarioCargoTO> obtenerDetalleUsuarioCargo(java.lang.String codigo) {
        return this.cargosLocal.obtenerDetalleUsuarioCargo(codigo);
    }

    public java.util.List<suministros.ejb30.TO.CargoTO> getListaCargos() throws java.lang.Exception {
        return this.cargosLocal.getListaCargos();
    }

    public List<ProveedorTO> listaCosechador() {
        return this.administracionProveedorBusiness.listaCosechador();
    }

    public List<SuministroTO> getListaSuministrosMateriaPrima() throws Exception {
        return suministroLocal.getListaSuministrosMateriaPrima();
    }

    public String insertarIngresoCarga(Movimiento mov, DetalleMovimiento detalle, int tipo) throws Exception {
        return administracionMovimientoBusiness.insertarIngresoCarga(mov, detalle, tipo);
    }

    public MovimientoTO getMovimientoModificar(String codigo) throws Exception {
        return administracionMovimientoBusiness.getMovimientoModificar(codigo);

    }

    public java.util.List<suministros.ejb30.TO.DetalleMovimientoTO> getDetallesMovimientoModificar(String codigo) throws Exception {
        return administracionMovimientoBusiness.getDetallesMovimientoModificar(codigo);
    }

    public void modificarIngresoCarga(List<DetalleMovimiento> detalleMovimiento) throws Exception {
        administracionMovimientoBusiness.modificarIngresoCarga(detalleMovimiento);
    }

    public int getDatosMovimientoTamaño(String codigo, int tipo, int opcion, java.lang.String proy, java.lang.String unid, int tipoIn, java.lang.String empresa, String anio, int mes) throws Exception {
        return administracionMovimientoBusiness.getDatosMovimientoTamaño(codigo, tipo, opcion, proy, unid, tipoIn, empresa, anio, mes);
    }

    public boolean insertaAsistencias(List<Asistencia> asistencias, Integer area) throws Exception {
        return asistenciaLocal.insertaAsistencias(asistencias, area);
    }

    public List<Asistencia> getAsistenciaDiaria(String fecha, int area) throws Exception {
        return asistenciaLocal.getAsistenciaDiaria(fecha, area);
    }

    public List<ElementoCosto> getListaElementoCosto() throws Exception {
        return sumiAdministracionCostoDiario.getListaElementoCosto();
    }

    public boolean insertaCosteoDiario(CosteoDiario costeo) throws Exception {
        return sumiAdministracionCostoDiario.insertaCosteoDiario(costeo);
    }

    public List<CosteoDiario> getCosteoDiario() throws Exception {
        return this.sumiAdministracionCostoDiario.getCosteoDiario();
    }

    public void eliminarIngresoCarga(List<DetalleMovimiento> detalleMovimiento) throws Exception {
        administracionMovimientoBusiness.eliminarIngresoCarga(detalleMovimiento);
    }

    public boolean insertaTipoCambioDiario(TipoCambioDiario cambio) throws Exception {
        return this.sumiAdministracionCostoDiario.insertaTipoCambioDiario(cambio);
    }

    public List<TipoCambioDiario> getTipoCambioDiario(String anio, String mes) throws Exception {
        return this.sumiAdministracionCostoDiario.getTipoCambioDiario(anio,mes);
    }

    public boolean insertaTrabajadorPersona(Trabajador trabajador, Persona persona) throws Exception {
        return sumiAdministracionTrabajadores.insertaTrabajadorPersona(trabajador, persona);
    }

    public Trabajador getTrabajador(String codigo) throws Exception {
        return sumiAdministracionTrabajadores.getTrabajador(codigo);
    }

    public Persona getPersona(String codigo) throws Exception {
        return sumiAdministracionTrabajadores.getPersona(codigo);
    }

    public List<TipoTrabajador> getListaTipoTrabajador() throws Exception {
        return sumiAdministracionTrabajadores.getListaTipoTrabajador();
    }

    public TipoCambioDiario getTipoCambio(String fecha) throws Exception {
        return this.sumiAdministracionCostoDiario.getTipoCambio(fecha);
    }

    public List<CargoEmpresa> getListaCargoEmpresa() throws Exception {
        return sumiAdministracionTrabajadores.getListaCargoEmpresa();
    }

    public List<AreaEmpresa> getListaAreaEmpresa() throws Exception {
        return sumiAdministracionTrabajadores.getListaAreaEmpresa();
    }

    public CargoEmpresa getCargoEmpresa(int codigo) throws Exception {
        return sumiAdministracionTrabajadores.getCargoEmpresa(codigo);
    }

    public AreaEmpresa getAreaEmpresa(int codigo) throws Exception {
        return sumiAdministracionTrabajadores.getAreaEmpresa(codigo);
    }

    public boolean insertaCargo(CargoEmpresa cargo) throws Exception {
        return sumiAdministracionTrabajadores.insertaCargo(cargo);
    }

    public boolean insertaArea(AreaEmpresa area) throws Exception {
        return sumiAdministracionTrabajadores.insertaArea(area);
    }

    public ProveedorSuministro getDatosProveedorSuministro(ProveedorSuministro sumi) throws Exception {
        return this.administracionProveedorBusiness.getDatosProveedorSuministro(sumi);
    }

    public boolean registrarProveedorSuministro(ProveedorSuministro sumi) throws Exception {
        return this.administracionProveedorBusiness.registrarProveedorSuministro(sumi);
    }

    public List<ProveedorSuministroTO> listaProveedorSuministro() {
        return this.administracionProveedorBusiness.listaProveedorSuministro();
    }

    public void ajustarIngresoCarga(List<DetalleMovimiento> detalleMovimiento) throws Exception {
        administracionMovimientoBusiness.ajustarIngresoCarga(detalleMovimiento);
    }

    public void ajustarIngresoTodos(List<DetalleMovimiento> detalleMovimiento) throws Exception {
        administracionMovimientoBusiness.ajustarIngresoTodos(detalleMovimiento);

    }

    public void ajustarIngresoSuministro(String codigo, String ano, String mes) throws Exception {
        administracionMovimientoBusiness.ajustarIngresoSuministro(codigo, ano, mes);
    }

    public java.util.List<suministros.ejb30.TO.DetalleMovimientoTO> getDetallesMovimientoAjustar(String anio, String mes) throws Exception {
        return administracionMovimientoBusiness.getDetallesMovimientoAjustar(anio, mes);
    }

    public List<CosteoDiario> getCosteoDiarioFechas(Date fecha_ini, Date fecha_fin) throws Exception {
        return this.sumiAdministracionCostoDiario.getCosteoDiarioFechas(fecha_ini, fecha_fin);
    }

    public List<DiasPagoMesTO> getPagoMes(String anio, String mes, String dni) throws Exception {
        return this.sumiAdministracionTrabajadores.getPagoMes(anio, mes, dni);
    }

    public boolean actualizarPagoMes(List<DiasPagoMesTO> lista) throws Exception {
        return this.sumiAdministracionTrabajadores.actualizarPagoMes(lista);
    }

    public BigDecimal getMontoImpuesto(Integer tipo_plantilla, BigDecimal sub_total) throws Exception {
        return sumiAdministracionOrdenesBean.getMontoImpuesto(tipo_plantilla, sub_total);
    }

    public java.util.List<suministros.ejb30.TO.TipoTO> getConsultarTipoCambioComprobante(Integer orden) throws Exception {

        return administracionMovimientoBusiness.getConsultarTipoCambioComprobante(orden);

    }

    public boolean eliminaCosteoDiario(int id_costeo) throws Exception {
        return sumiAdministracionCostoDiario.eliminaCosteoDiario(id_costeo);
    }

    public List<ElementoCostoTO> getListaElementosCosto() throws Exception {
        return sumiAdministracionCostoDiario.getListaElementosCosto();
    }

    public List<ComprobantePagoTO> getDatosOrdenComprobante(String codigo) throws Exception {
        return administracionMovimientoBusiness.getDatosOrdenComprobante(codigo);
    }

    public List<ImpuestoTO> getListaImpuestos() throws Exception {
        return sumiAdministracionOrdenesBean.getListaImpuestos();
    }

    public void ajustarIngreso(String ano, String mes) throws Exception {
        administracionMovimientoBusiness.ajustarIngreso(ano, mes);
    }

    public boolean operaImpuesto(Impuesto impuesto,DetallePlantillaImpuesto dpi) throws Exception {
        return sumiAdministracionOrdenesBean.operaImpuesto(impuesto,dpi);
    }

    public boolean eliminaImpuesto(int id_impuesto) throws Exception {
        return sumiAdministracionOrdenesBean.eliminaImpuesto(id_impuesto);
    }

    public List<AuxiliarCargarAsistenciaDiaria> insertarAsistenciaMigracion(List<AuxiliarCargarAsistenciaDiaria> listaAsistencias) throws Exception {
        return asistenciaLocal.insertarAsistenciasMigradas(listaAsistencias);
    }

    public List<AsistenciaTO> getAsistenciaEntreFechas(String finicio, String ffin) throws Exception {
        return asistenciaLocal.getAsistenciasEntreFechas(finicio, ffin);
    }

    public boolean finalizarOrden(String nro_orden) throws Exception {
        return sumiAdministracionOrdenesBean.finalizarOrden(nro_orden);
    }

    public boolean eliminaElementoCosto(String id) throws Exception {
        return sumiAdministracionCostoDiario.eliminaElementoCosto(id);
    }

    public boolean operaElementoCosto(ElementoCosto elemento) throws Exception {
        return sumiAdministracionCostoDiario.operaElementoCosto(elemento);
    }

    public List<MesTO> getListaMesCambio() throws Exception {
        return sumiAdministracionCostoDiario.getListaMesCambio();
    }

    public List<AnoTO> getListaAnosCambio() throws Exception {
        return sumiAdministracionCostoDiario.getListaAnosCambio();
    }

    public boolean modificaComprobante(ComprobantePagoTO comprobante) throws Exception {
        return sumiAdministracionOrdenesBean.modificaComprobante(comprobante);
    }

    

    

}
